End users may desire the ability to extend the user interface (“UI”) and/or the user experience (“UX”) of current applications in order to view and interact with external data from other sources. For example, an external line-of-business (“LOB”) system may contain a list of sales orders from various customers. A business user may desire to surface the customer data in a contact list of a personal information management application operating on a client machine. In this way, the user can view and interact with the customer data offline utilizing the interface of the personal information application.
One way to extend the UI and/or UX of applications is through a developer-created add-in. Add-ins may be provided via a links within a user application or from a remote file share. In addition, add-ins may also be pushed to the client machine via a software distribution service without user action. When the add-ins are installed on the client machine, the business user may expand the UI and/or UX of the personal management application by enabling the add-ins. Each add-in may specialize on a particular business domain (e.g., employee rewards, sales metrics, customer management, etc.). As a result, each add-in may depend on one or more data sets in order to function correctly.
The add-ins may operate based on data stored in a data cache on the client machine. However, existing solutions may not provide a programmatic way to populate the data cache with external data from other sources, such as external LOB systems. As a result, the end user may be given the responsibility to populate the data cache with the external data. The process of populating the data cache can be burdensome and technically difficult. This can be particularly troublesome for business users who may lack technical expertise. Further, if the data cache is not properly populated, the add-in may operate upon and display incorrect information. In some cases, the add-in may completely fail and no information is displayed.
It is with respect to these considerations and others that the disclosure made herein is presented.